package com.hhh.corejava.code06_数组;

import org.w3c.dom.ls.LSOutput;

import java.util.Arrays;
import java.util.Scanner;

/**
 * @autor 黄焕晖
 * @date 2025年10月26日15:38
 **/
public class Test12_螺旋式数组 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入每一行的元素个数:");
        int num = sc.nextInt();
        int[][] arr = new int[num][num];
        //定义x轴的最大值和最小值
        int minX=0,maxX=num-1;
        //定义y轴的最大值和最小值
        int minY=0,maxY=num-1;
        //定义数组元素值的初始值
        int value=1;

        while(minX<maxX){
            //从左到右
            for(int x=minX;x<=maxX;x++){
                arr[minY][x]=value++;
            }
            minY++;
            //从上到下
            for(int y=minY;y<=maxY;y++){
                arr[y][maxX]=value++;
            }
            maxX--;
            //从右到左
            for(int x=maxX;x>=minX;x--){
                arr[maxY][x]=value++;
            }
            maxY--;
            //从下到上
            for(int y=maxY;y>=minY;y--){
                arr[y][minX]=value++;
            }
            minX++;
        }
        System.out.println("arr数组的元素为:");
        for (int i=0;i<arr.length;i++){
            for (int j=0;j<arr[i].length;j++){
                System.out.print(arr[i][j]+"\t");
            }
            System.out.println();

        }

    }

}
